package com.zzedu.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zzedu.common.annotation.Excel;
import io.github.eternalstone.annotation.SensitiveBye;
import io.github.eternalstone.enums.SensitiveType;

import java.math.BigDecimal;
import java.time.LocalDateTime;

public class ZzStuRenewOrderVO {


    /**
     * id
     */
    @Excel(name = "id")
    private Long id;
    /**
     * 学校名称
     */
    @Excel(name = "学校全称")
    private String schoolName;


    /**
     * 联系人
     */
    @Excel(name = "联系人")
    private String contacts;
    /**
     * 联系电话
     */
    @Excel(name = "联系电话")
    @SensitiveBye(strategy = SensitiveType.MOBILE)
    private String tel;

    /**
     * 招生人数
     */
    @Excel(name = "招生人数")
    private Integer stuNum;
    /**
     * 姓名
     */
    @Excel(name = "学生")
    private String stuName;
    /**
     * 费用类型 参照会员类型  1-季度。2-半年 3-3季度 4-全年
     */
    @Excel(name = "费用类型", dictType = "stu_member_type")
    private Integer renewType;

    /**
     * 订单类型 1-新建 2-续费
     */
    @Excel(name = "订单类型", readConverterExp = "1=新建,2=续费")
    private Integer orderType;
    /**
     * 计费类型 1-费率 2-固定金额"
     */
    @Excel(name = "计费类型", readConverterExp = "1=费率,2=固定金额")
    private Integer feeType;
    /**
     * 订单金额
     */
    @Excel(name = "订单金额(元)")
    private BigDecimal orderAmount;


    /**
     * 续费开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "会员有效期-开始", dateFormat = "yyyy-MM-dd")
    private LocalDateTime startDate;

    /**
     * 有效期截至日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "会员有效期-结束", dateFormat = "yyyy-MM-dd")
    private LocalDateTime expireDate;

    /**
     * 添加时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "操作时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gmtCreate;


    /**
     * 学生ID
     */
    private Long stuId;

    /**
     * 学校ID
     */
    private Long schoolId;


    /**
     * 生效状态 1-待生效 2-已生效  3-已结束
     */
    private Integer validFlag;

    /**
     * 付款 0-是 1-否
     */
    @Excel(name = "付款", dictType = "common_state")
    private Integer payState;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getStuId() {
        return stuId;
    }

    public void setStuId(Long stuId) {
        this.stuId = stuId;
    }

    public String getStuName() {
        return stuName;
    }

    public void setStuName(String stuName) {
        this.stuName = stuName;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public Integer getRenewType() {
        return renewType;
    }

    public void setRenewType(Integer renewType) {
        this.renewType = renewType;
    }

    public Integer getFeeType() {
        return feeType;
    }

    public void setFeeType(Integer feeType) {
        this.feeType = feeType;
    }

    public BigDecimal getOrderAmount() {
        return orderAmount;
    }

    public void setOrderAmount(BigDecimal orderAmount) {
        this.orderAmount = orderAmount;
    }

    public Long getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }

    public String getSchoolName() {
        return schoolName;
    }

    public void setSchoolName(String schoolName) {
        this.schoolName = schoolName;
    }

    public LocalDateTime getStartDate() {
        return startDate;
    }

    public void setStartDate(LocalDateTime startDate) {
        this.startDate = startDate;
    }

    public LocalDateTime getExpireDate() {
        return expireDate;
    }

    public void setExpireDate(LocalDateTime expireDate) {
        this.expireDate = expireDate;
    }

    public LocalDateTime getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(LocalDateTime gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public String getContacts() {
        return contacts;
    }

    public void setContacts(String contacts) {
        this.contacts = contacts;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public Integer getStuNum() {
        return stuNum;
    }

    public void setStuNum(Integer stuNum) {
        this.stuNum = stuNum;
    }

    public Integer getValidFlag() {
        return validFlag;
    }

    public void setValidFlag(Integer validFlag) {
        this.validFlag = validFlag;
    }

    public Integer getPayState() {
        return payState;
    }

    public void setPayState(Integer payState) {
        this.payState = payState;
    }
}
